Transmission system for transmitting an information signal via a plurality of subchannels from a transmitter to a receiver

ABSTRACT

Described is a transmission system ( 10 ) for transmitting an information signal ( 21 ) via a plurality of subchannels from a transmitter ( 12 ) to a receiver ( 16 ). The transmitter ( 12 ) first demultiplexes the information signal ( 21 ) into a plurality of information subsignals ( 33 ). Next, the information subsignals ( 33 ) are encoded according to a code with certain properties, e.g. a maximum distance separable (MDS) code, and multiplexed. Finally, the resulting subsignals ( 31 ) are channel encoded and transmitted to the receiver ( 16 ). The receiver ( 16 ) comprises a channel decoder ( 46,52,76,128 ) for successively channel decoding the received subsignals by incorporating decoding information ( 83,87,91 ) of already channel decoded information subsignals. Next, the resulting subsignals are demultiplexed, decoded according to said code and multiplexed into an output signal. Said code enables input symbols to be encoded into output symbols such that k input symbols of the k-th information subsignal are encoded with a k×m-code into m output symbols, 1≦k≦m, said code having the following properties: all k input symbols and all m−k other output symbols are determinable from any k output symbols, and no m−l other output symbols are determinable from any l output symbols l.

The invention relates to a transmission system for transmitting aninformation signal via a plurality of subchannels from a transmitter toa receiver.

The invention further relates to a transmitter for transmitting aninformation signal via a plurality of subchannels to a receiver, to areceiver for receiving encoded information subsignals via a plurality ofsubchannels from a transmitter, to a method of transmitting aninformation signal via a plurality of subchannels to a receiver and to amethod of receiving encoded information subsignals via a plurality ofsubchannels from a transmitter.

Such a transmission system is known from European Patent Application EP0 951 091 A2. In this known transmission system multiple transmitantennas are used to transmit streams of coded symbols (i.e. the encodedinformation subsignals) that originate from the same data source (i.e.the information signal). At the receiver, these multiple streams arereceived by means of multiple receive antennas and decoded successivelyby removing the data streams that have been decoded at earlier stagesand by canceling the remaining data streams, due to the multiple receiveantennas, via spatial (space-time or space-frequency) interferencecancellation. Such a scheme is often referred to as an orderedsuccessive interference cancellation (OSIC) scheme.

The capacity (throughput) of the known transmission system is limited.

It is an object of the invention to provide a transmission systemaccording to the preamble having a higher transmission capacity than theknown transmission system. This object is achieved in the transmissionsystem according to the invention, said transmission system beingcharacterized in that the transmitter comprises:

-   -   a demultiplexer for demultiplexing the information signal into a        plurality of information subsignals in dependence on a        throughput of the subchannels as ordered by the receiver;    -   an encoder for encoding input symbols of the information        subsignals into output symbols such that k input symbols of the        k-th information subsignal are encoded with a k×m-code into m        output symbols, 1≦k≦m, said code having the following        properties:    -   all k input symbols and all m−k other output symbols are        determinable from any k output symbols, and no m−l other output        symbols are determinable from any l output symbols, l<k;    -   a multiplexer for multiplexing the output symbols into output        information subsignals;    -   a channel encoder for channel encoding the output information        subsignals into encoded information subsignals;    -   and means for transmitting each encoded information subsignal        via one of the subchannels to the receiver;    -   the receiver comprising:    -   means for receiving the encoded information subsignals;    -   a channel decoder for successively channel decoding the received        encoded information subsignals into channel decoded information        subsignals by incorporating decoding information of already        channel decoded information subsignals;    -   a demultiplexer for demultiplexing the channel decoded        information subsignals into channel decoded symbols;    -   a decoder for decoding the channel decoded symbols into decoded        output symbols and for supplying the decoding information        regarding the decoded output symbols to the channel decoder;    -   a further multiplexer for multiplexing the decoded output        symbols into an output information signal. As will be shown        later, by using such a code the transmission system can achieve        a maximum throughput.

In an embodiment of the transmission system according to the inventionthe code is a maximum distance separable (MDS) code. MDS codes arewidely known and posess the desired properties that enable the encodingprinciple according to the invention.

In another embodiment of the transmission system according to theinvention the transmitter further comprises an interleaver coupledbetween the multiplexer and the channel encoder, the interleaver beingarranged for interleaving the output information subsignals, wherein thechannel encoder is arranged for encoding the interleaved outputinformation subsignals into the encoded information subsignals. Thisinterleaver is meant to homogeneously spread the information elementswithin the stream of the output information elements, so as toefficiently use the information elements known from the previouslydecoded streams for the decoding of the current stream.

In a further embodiment of the transmission system according to theinvention the channel decoder is arranged for decoding a receivedencoded information subsignal by incorporating decoding information ofthe most recently channel decoded information subsignal. In such a case,the most recent update on an information element of an informationsubsignal may incorporate all the available estimates (reliabilitymeasures) on the information elements shared through the previouslydecoded substreams, thereby providing the highest reliabilities of theseinformation elements.

The above object and features of the present invention will be moreapparent from the following description of the preferred embodimentswith reference to the drawings, wherein:

FIG. 1 shows a block diagram of a transmission system 10 according tothe invention,

FIG. 2 shows a block diagram of a receiver 16 according to theinvention,

FIG. 3 shows a block diagram of an encoder structure including an MPCencoder 30 for use in a transmitter 12 according to the invention,

FIG. 4 shows a block diagram of a decoder structure including an MPCdecoder 80 for use in a receiver 16 according to the invention,

FIG. 5 shows a block diagram of a prior art transmitter 12,

FIG. 6 shows a block diagram of a prior art wireless receiver 16,

FIG. 7 shows a block diagram of an embodiment of a transmitter 12according to the invention,

FIG. 8 shows a block diagram of an embodiment of a receiver 16 accordingto the invention,

FIGS. 9 to 14 show some graphs illustrating the performance of atransmission system 10 according to the invention,

FIGS. 15 and 16 show a lookup table for use in hard decision decoding ofthe (3, 2, 1) MDS code,

FIG. 17 shows computation rules for use in MAP decoding of the (3, 2, 1)MDS code,

FIG. 18 shows computation rules for use in soft ML (Max-Log-MAP)decoding of the (3, 2, 1) MDS code.

In the Figures, identical parts are provided with the same referencenumbers.

This invention relates to a transmission system 10 as shown in FIG. 1which transmission system 10 makes use of multiple subchannels todeliver information from a transmitter 12 to a receiver 16. In thereceiver 16, the signals from different subchannels are decodedsuccessively by decoders 18. The order of decoding is defined at thereceiver 16 and is unknown to the transmitter 12. It is assumed that thetransmitter 12 is aware of the ordering principle and of some propertiesof the ordered sequence of subchannels such as statistics (e.g. Rayleighfading) of the capacities (maximum throughputs) of the orderedsubchannels. Alternatively, the transmitter 12 may be aware of thesignal to noise (and interference) ratio (SNR/SINR) of the orderedsubchannels. However, the order of decoding for each realization ofsubchannels is random, as seen by the transmitter 12. The presentinvention is related to a channel coding strategy that makes use of theknown properties of the subchannels to enhance the performance of such amulti-channel transmission system 10. This channel coding strategycomprises an encoder and a decoder architecture. The general codingstrategy is further applied to enhance the performance of wirelesstransmission systems that make use of multiple transmit antennas totransmit multiple parallel data streams and multiple receive antennaswith an ordered extraction of the transmitted streams at the receiverknown as ordered successive interference cancellation (OSIC).

First, we explain the basic idea of the proposed channel coding strategywhich allows to reach the maximum achievable throughput (Shannoncapacity) of multiple channels with ordered successive decoding. To thisend, the equivalent scheme of such a channel will be defined and afundamental limitation on the throughput of such a scheme will be shown.Next, a forward error correction (FEC) structure that approaches thefundamental throughput bound will be described.

The general case of a system with an arbitrary number m of subchannels,ordered successive decoding of the corresponding data streams at thereceiver 16, with a known sequence of ordered capacities, is illustratedby the block diagram in FIG. 1. According to this diagram, in thetransmitter 12 a set of user bits is encoded by an encoder 8 into mparallel streams that are transmitted over an m input m output channel14. This channel 14 is represented by a permutation π of the mtransmitted streams followed by m parallel subchannels with therespective capacities (or throughputs) C₁ . . . C_(m) Precisely, π[n]specifies the index of the transmitted stream that is permuted to then-th subchannel. The set of capacities is known at the receiver 16 andto the transmitter 12 whereas the permutation π is known at the receiver16 only. The transmitter 12 treats π as a random permutation(specifically, π is assumed uniformly distributed over the set of mpossible permutations). At the receiver 16, the m streams are decodedsuccessively so that n-th decoder 18 makes use of the knowledge of theuser (input) bits recovered by the previous (n−1) decoders 18, 1<n≦m.

The overall throughput (channel capacity) of such system is limited bythe sum of throughputs of individual subchannels, i.e.C _(Σ) ≦C ₁ + . . . +C _(m).  (1)This capacity may be only reached when the rate at the n-th output ofthe permutation π is matched to the respective capacity C_(n), 1≦n≦m.This latter condition along with the fact that π is unknown at thetransmitter 12 has a number of implications for an optimal encodingrule. First of all, each transmitted data stream should carry data atrate R₁=C₁. If the rate of the k-th stream differs from C₁, it will notfit the respective throughput/capacity in the event that π[1]=k. Hence,for a block of N channel uses (complex signal dimensions), the totalnumber of bits within each stream should be N C₁. In the same manner,one can see that the conditional rate of any stream upon decoding of anyother stream should be R_(2|1)=C₂. Indeed, the stream decoded at thesecond stage will benefit from a partial knowledge of the bits that isprovided by the first stream. In order to match the throughput of thesecond subchannel, this partial knowledge should lead to a ratereduction from C₁ to C₂. Consequently, the remaining number of unknownbits in any stream upon decoding of any other stream should equal N C₂.This implies that the decoder of the first (uppermost) subchannel shouldcarry over the knowledge of N(C₁−C₂) bits to the second subchannel. Byiterating the same argument, it is easy to show that the decoder of then-th subchannel should carry N(C_(n)−C_(n+1)) additional bits over tothe decoders of the following subchannels. In this case, the remainingnumber of unknown bits at the (n+1)-th subchannel equals to thedifference between the total of N C₁ bits carried by a stream at the(n+1)-th subchannel and the total number of bits carried over by theprevious decoding stages:N C ₁ −N(C ₁ −C ₂).− . . . −N(C _(n) −C _(n+1))=N C _(n+1)  (2)This number matches the throughput N C_(n+1) of the (n+1)-th subchannel.

The described flow of decoding stages is represented schematically inFIG. 2. This block diagram shows the number of newly decoded user bitsat each decoding stage 18 as well as the number of bits carried over tothe following stages 18. Clearly, all the bits that are carried over tothe decoder 18 of any subchannel from the previous decoding stages 18should be shared/included with the bits encoded in the data stream whichis fed to this subchannel. Furthermore, the relationship between thestreams should be fully symmetric w.r.t. any reordering of the streams,since π is unknown at the transmitter 12.

One can notice that the block diagram in FIG. 2 implies a non-negativedifference between the throughputs of the adjacent stages and thereforeC₁≧C₂≧ . . . ≧C_(m).  (3)This condition is fundamental to reach the equality in (1) for thegeneral system in FIG. 1. In this system, the data rate at the n-thsubchannel is a conditional rate R_(n|1 . . . n−1) of any transmittedstream given the knowledge of any other (n−1) streams decoded at thepreceding stages. On one hand, a sequence of conditional rates isnon-increasing. On the other hand, the maximum throughput is onlyachieved when these rates are matched to the throughputs of therespective subchannels, i.e. R_(n|1 . . . n−1)=C_(n), 1≦n≦m. Hence thecondition (3) is mandatory to achieve the maximum throughput. Wheneverthis condition does not hold, the maximum throughput of the system inFIG. 1 will be limited byC _(Σ) =C ₁ + . . . +C _(m), wherein C _(n)=min {C ₁ , . . . ,C _(n)},1≦n≦m  (4)Note that the sequence {C ₁, . . . , C _(m)} maximizes C_(Σ) from (4)under the constraint (3).

Next, we describe a new encoding scheme that allows for the totalthroughput specified in (4). This scheme involves a class of codeswidely known as maximum distance separable (MDS) codes. An MDS code canbe specified by a triple (n, k, 2^(q)) wherein k is the number of input(information) symbols, n is the number of output (coded) symbols and qspecifies the alphabet GF(2^(q)). This means that input and outputsymbols belong to the alphabet A={0, 1, . . . , 2^(q)−1}. An MDS code isa linear code, hence it may be described by a k×n generator matrix Gwith entries from A. A vector of k input symbols a=[a₁, . . . ,a_(n)]from the alphabet A is encoded into n output symbols c=[c₁, . . . ,c_(n)] from the same alphabet viac=a G  (5)wherein multiplications/additions take place in GF(2^(q)), i.e. theresult of standard operations (multiplications & additions) is takenmodulo 2^(q). The definition given above includes the whole class oflinear block codes. The subclass of MDS codes is characterized by suchgenerator matrices G that any arbitrary subset of k symbols from the setof ^(n) output symbols of c yields the set of input symbols a andtherefore the remaining (n−k) output symbols. An important consequenceof the above definition of MDS codes is that knowledge of any set ofless than k output symbols of c gives no information about the remainingoutput symbols.

The last two properties of the MDS codes are essential to design theencoding scheme that matches the decoding flow indicated in FIG. 2 andtherefore allows to achieve the maximum total throughput given by (4).The construction of such codes is based on MDS codes and will beexplained in the following section. Nevertheless, any other code havingthe same two essential properties as the known MDS codes may equallywell be used in the present invention.

Some more facts about MDS codes w.r.t code construction: First of all,we note that a linear code is MDS if and only if its k×n generatormatrix G is such that all k×k blocks of G are full rank. Such a matrixmay be built if n≦2^(q)+1. It is worth mentioning that binary MDS codes(i.e. codes operating with bits, q=1) exist for n≦3 only. For n>3, onehas to make use of q>1. However, a (n, k, q) MDS with q>1 may be adaptedto encode a stream of bits. A possible solution consists of thefollowing steps:

-   -   group the stream of input bits into a stream of q-tuples of        bits;    -   map of these q-tuples to the symbols from alphabet A;    -   encode of the blocks of k symbols according to (5);    -   de-mapping of the resulting output symbols from A to q-tuples of        bits.

Clearly, the total number of input/output bits of such an encoder shouldbe a multiple of q. Next, we will see that the described four stepencoding procedure allows us to match the decoding flow in FIG. 2 andtherefore reach maximum throughput with any q≧1.

Let us show a few simple cases of MDS codes. We make use of these codesin the examples of code construction later in this document.(2, 1, 1) MDS code: G=[1 1], (3, 1, 1) MDS code: G=[1 1 1],

$\begin{matrix}{{\left( {3,2,1} \right)\mspace{14mu}{MDS}\mspace{14mu}{code}\text{:}\mspace{14mu} G} = {\begin{bmatrix}1 & 0 & 1 \\0 & 1 & 1\end{bmatrix}.}} & (6)\end{matrix}$We finally note that a systematic design of MDS codes may be achieved.One possibility is to use extended Reed-Solomon codes.

Next, we describe the operation of the forward error correction (FEC)structure that enables the full throughput (4). The core engine of thisstructure is a so-called message-partition code (MPC), based on cascadedMDS codes. Block-diagrams of the entire encoder and decoder are given inFIG. 3 and FIG. 4 respectively. For sake of simplicity, assume that (3)is satisfied (otherwise {C₁, . . . , C_(m)} should be replaced by {C ₁,. . . , C _(m)}). An information signal 21 comprising a set of N(C₁+ . .. +C_(m)) user bits 21, corresponding to the maximum throughput of (C₁+. . . +C_(m)), is fed to the input of the encoder 30. This set isfurther partitioned/demultiplexed by a demultiplexer 20 into m subsets33 (or information subsignals 33) with sizes N(C₁−C₂), N2(C₂−C₃), . . .N(m−1)(C_(m−1)−C_(m)) and NmC_(m). The first subset 33 serves as inputto an MDS encoder 32 with parameters (m, 1, •). The last parameter(alphabet size) is immaterial for our construction and may be chosenupon the convenience (availability) of an MDS code with appropriatedimensions. Note that each input symbol of a (m, 1, •) MDS code producesm output symbols. The whole block of N(C₁−C₂) bits will result in mparallel streams 35 of N(C₁−C₂) output bits. These streams 35 are fed tom multiplexers 34 in FIG. 3. In the same way, the k-th subset 33containing N k(C_(k)−C_(k+1)) user bits is fed to an MDS encoder 32 withparameters (m, k, •), 1≦k≦m. Such a code encodes groups of k usersymbols into respective groups of m output symbols. Again, the wholeblock of N k(C_(k)−C_(k+1)) user bits results in m parallel streams 35of N(C_(k)−C_(k+1)) output bits. These streams 35 are fed to mmultiplexers 34, similarly to the outputs of the first MDS encoder 32.Finally, the very last subset 33 of NmC_(m) is simply partitioned into mparallel streams 35 of NC_(m) bits, which streams are fed to mmultiplexers 34 as indicated in FIG. 3. The outputs 31 (or outputinformation subsignals 31) of the multiplexers 34 represent the moutputs of the MPC encoder 30. It is easy to see that each output 31carries NC₁ bits. Note that this number matches the required rate ofeach transmitted data stream.

The output information subsignals 31 should undergo the conventionalsteps of FEC encoding (represented schematically by the channel encoderblocks 24 in FIG. 3) and modulation prior to the transmission. Here, weassume an ideal encoding at the transmitter 12 such that the codebooksare optimally matched to the statistical properties of the transmissionchannel and a subsequent optimal processing at the receiver 16. Theoutput information subsignals 31 are encoded by the channel encoders 24into encoded information subsignals 25.

According to the block-diagram in FIG. 1, the π[1]-th transmitted stream45 (i.e. the received encoded information subsignal 45) is the first tobe processed at the receiver 16. Since any transmitted stream carriesNC₁ bits, the corresponding rate matches the throughput C₁ of the firstsubchannel as indicated in FIG. 1. Hence, an optimal channel decoder 46in FIG. 4 restores NC, bits 47 (i.e. the channel decoded informationsubsignal 47) of the first data stream. These bits 47 are fed to theinput “input #1” of the MPC decoder 80. This set of bits 47 ispartitioned by an upper-most demultiplexer 82 into m streams95,97,99,101 of sizes N(C₁−C₂), N(C₂−C₃), . . . N(C_(m−1)−C_(m)),NC_(m), respectively, inversely to the corresponding multiplexer 34 ofthe MPC encoder 30 in FIG. 3. The first stream 95 contains N(C₁−C₂) bitsthat correspond to the π[1]-th output of the (m, 1, •) MDS code. Thesebits 95 are sent to the decoder 84 of the (m, 1, •) MDS code. Bydefinition of (m, 1, •) MDS code, any of its output symbols yieldsknowledge of the corresponding input as well as the other (m−1) outputs.Thus the upper-most I-MDS decoder 84 restores the subset of N(C₁−C₂)input bits 117 (i.e. the decoded output symbols 117) of the (m, 1, •)MDS code as well as the remaining (m−1) output streams 83 (i.e. thedecoding information 83) of size N(C₁−C₂). While the subset of inputbits 117 is collected by the user bit buffer/multiplexer 86, the (m−1)streams 83 of N(C₁−C₂) output bits are passed over to the followingdecoding stages through the output labeled as “link #1”. Note that thenumber of bits passed to the following stages matches the decoding flowdiagram in FIG. 2. Next, the π[2]-th transmitted stream 59 is processed.This stream 59 also carries NC₁ bits of which N(C₁−C₂) bits 83 areprovided by the previous stage of decoding. Note that the remainingnumber of bits carried by the π[2]-th stream equals (NC₁−N(C₁−C₂))=NC₂.This number matches the throughput C₂ of the second subchannel asindicated in FIG. 1 so that an optimal decoder 52 in FIG. 4 restores allNC₁ bits 47 of the second data stream 59. These bits 47 are fed to theMPC decoder 80 via “input 2” wherein they are partitioned/demultiplexedby the second demultiplexer 82 into m streams of channel decodedsymbols, the streams having sizes N(C₁−C₂), N(C₂−C₃), . . .N(C_(m−1)−C_(m)), N C_(m). Note that the stream containing N(C₁−C₂) bitscoincides with the set of bits carried over from the previous decodingstage; this set is of no use. The stream 103 that contains N(C₂−C₃) bitsis sent to the I-MDS decoder 84 of the (m,2, •) MDS code, along with aset 97 of N(C₂−C₃) bits provided by the demultiplexer 82 of the firstdecoding stage. These two streams 97,103 provide a pair of outputs foreach of N(C₂−C₃) input blocks of the (m,2, •) MDS code. By definition of(m, 2, •) MDS code, any pair of its outputs yields knowledge of thecorresponding two inputs as well as the other (m−1) outputs. Thus thecorresponding I-MDS decoder 84 restores the subset 119 of N2(C₂−C₃)input bits as well as the remaining (m−1) output streams 87 of sizeN(C₂−C₃). The subset 119 of N2(C₂−C₃) input bits is collected in themultiplexer 86. One of the remaining (m−1) output streams is shared withthe π[1]-th stream that was recovered at the previous stage. This streamhas no flier use. The other (m−2) output streams 87 are passed to thefollowing decoding stages via the output “link #2”. Once again, thenumber of bits passed to the following stages matches the decoding flowdiagram in FIG. 2. The remaining decoding stages proceed in a similarway.

At the m-th decoding stage, the π[m]-th transmitted stream 73 isprocessed. This stream carries NC₁ bits. The subsets 83, 87, 91 ofN(C₁−C₂), N(C₂−C₃), . . . N(C_(m−1)−C_(m)) bits from this stream areprovided by the decoding stages 1 through (m−1) via the outputs “link 1”through “link m”, respectively. The remaining number of unknown bits isthereforeNC ₁ −N(C ₁ −C ₂).− . . . −N(C _(m−1) −C _(m))=NC _(m)This number matches the throughput C_(m) of the m-th subchannel asindicated in FIG. 1. Hence an optimal decoder 76 in FIG. 4 restores thisstream. The resulting NC₁ bits are sent to the MPC decoder 80 via “inputm”. The following demultiplexer 82 selects NC_(m) bits 109 that arerestored at this stage (since the other N(C₁−C_(m)) bits out of NC₁ areprovided by the previous decoding stages). Note that these bits are partof the m-th subset of NmC_(m) user bits in the MPC encoder 30 (see FIG.3). The remaining (m−1) blocks of NC_(m) user constituting the m-thsubset of NmC_(m) bits in the MPC encoder are coming from the previousdecoding stages as they contribute to the previously decoded transmittedstreams. These m blocks are grouped to the decoded subset of NmC_(m)user bits and fed to the multiplexer 86. Check that the total numberuser bits collected by the multiplexer 86 after the m-th decoding stageequalsN(C ₁ −C ₂)+N2(C ₂ −C ₃)+ . . . +NmC _(m) =N(C ₁ +C ₂ + . . . C _(m))i.e. the total number of the transmitted user bits. The decoding is nowcomplete.

First, a transmission system 10 having MIMO fading channels withadditive Gaussian noise will be discussed. In this context it is assumedthat the signal at the output of each subchannel is given by a linearcombination of the symbols transmitted in all subchannels and anadditive Gaussian noise. In such scenarios, with an appropriateprocessing at the receiver 16, each subchannel may be regarded as ascalar channel corrupted by a residual inter-subchannel interference andadditive Gaussian noise. The commonly used coding strategy consists of abit-space encoding (FEC encoder), mapping the coded bits into channelsymbols and putting these symbols into channel (modulation). The laststep depends on the channel properties. Usually, modulation isaccomplished in time domain (single carrier systems) or frequency domain(multicarrier systems). In both cases, spreading may be applied so thatseveral channel symbols share several channel uses in time or frequencydomain (giving rise to direct sequence or multicarrier spread spectrumtransmission, respectively). The choice of channel symbol alphabet(signaling) depends on the desired spectral efficiency and FEC rate. Thecommonly used signaling schemes are: BPSK, QPSK, 8-PSK and 2^(k)-QAMwith k≧2. Note that the proposed encoding strategy may be applied forsuch MIMO fading channels. To this end, one has to specify the set ofcapacities C₁ . . . C_(m) that are characterized by the signal tointerference plus noise ratios (SINR) within the respective subchannels.In the case of fading channels, the SNR may be unknown to thetransmitter. The standard approach is to use outage values of SINR thatare chosen, according to the expected statistical properties of thefading, as a lower bound on the actual unknown SINR for all but a smallsubset of outage channels. Note that the outage value ofSINR/capacity/etc. is the value of SINR/capacity/etc. for which theoutage rate is equal to a certain percentage of the cases/time when theactual SINR/capacity/etc. of the system is worse than the outage value.

The FEC coding strategies commonly used for channels with Gaussian noiseare the standard convolutional codes and, since recently, parallel andserial concatenated interleaved (turbo) codes and low density paritycheck (LDPC) codes. Although all these codes may be incorporated withinthe encoders 24 in FIG. 3, the efficiency of our approach may depend onthe properties of the chosen FEC code. Indeed, the error correctioncapability of the known user bits at the input of the FEC encoders 24depends on the span of typical error patterns that involve the knownbits. In the case of random-like codes, such as LDPC and turbo codes,typical error patterns span a substantial part of the coded bits.Therefore, every known bit at the input of the encoders 24 is expectedto have a global error correction effect over the whole code (unlike alocal effect in the case of convolutional codes). It is, therefore,expected that the use of turbo codes, LDPC or similar codes FEC codeswill be particularly beneficial for the general MIMO encoding schemedisclosed here. For such FEC codes, the contributions of different MDScodes should be homogeneously mixed. Such a mixing may be achieved by aninterleaver (not shown) coupled between the multiplexer 34 and thechannel encoder 24 and which interleaver performs a pseudo-random(uniform) interleaving of each output 31 of the MPC encoder 30 prior tothe FEC encoding (e.g. by turbo or LDPC codes), see FIG. 3. Aninterleaver may be further optimized subject to a chosen FEC code.

The general decoding scheme has been described above and is depicted byFIG. 4. At the n-th decoding stage, a FEC decoder 46,52,76,128 isactivated which makes use of a partial knowledge of the inputs of thecorresponding encoder 32. This knowledge is provided by the previous(n−1) decoding stages. A practical implementation of each decoderdepends on the type of code and the corresponding decoding procedure.Here we distinguish between soft and hard decision decoders. In harddecision decoding, a FEC decoder generates binary decisions on the inputuser bits. These decisions on previously decoded bits (informationelements) are used at the subsequent decoding stages to limit the choiceof possible codewords.

Example. For convolutional codes, binary decisions on the input bitsusually result from a ML sequence detection by Viterbi algorithm. Thedecisions on the previously decoded bits are then incorporated in theViterbi algorithm of the successive decoding stages so that, at everytrellis section associated to the previously decoded bit, only thosestate transitions are considered that correspond to the decoded binaryvalue (thereby reducing the total number of possible transitions by 2 ifthe conventional Viterbi algorithm is applied).

In soft decision decoding, a FEC decoder generates (soft) real-valuedmetrics that represent reliability measures of the input bits. Usually,each soft metric is (an approximate) log-likelihood ratio, i.e. thelogarithm of the ratio of a posteriori probability of an input bit being0 versus a posteriori probability of this bit being 1, given theobserved signal. Soft metrics are often involved in decoding proceduresof concatenated codes and iterative decoding algorithms. The finaldecision on the input bit is taken according to the sign of such softmetrics. Whenever soft decisions on the input bits are available, theuse of soft metrics on the bits provided by the previous decodingstages, instead of binary decisions (or equivalently, very big softvalues) ensures generally a better performance.

Example: Soft decision decoding is commonly used to iteratively decodeturbo codes and LDPC codes. In the case of turbo codes, soft metrics ofthe input bits are generated by the so-called soft-input soft-output(SISO) decoders of the component codes. For LDPC codes, the soft metricsresult from the so-called belief propagation algorithm. Whenever suchFEC codes are used within the MIMO encoding scheme disclosed here, softmetrics of the appropriate bits, obtained at the last iteration of thecurrent stage, are transferred to the subsequent decoding stages. At thesubsequent stages, the so-obtained soft metrics should be used as apriori metrics on the appropriate bits or added to the existing a priorimetrics if the latter are available at these decoding stages.

Iterative decoding may be applied to improve the performance of theproposed MIMO scheme. Iterative decoding of the scheme in FIG. 1 meansrepeating the whole or any part of the full decoding cycle whichconsists of successive decoding of m subchannels as described above. Inthis case, the early decoding stages can make use of hard/softinformation on the shared bits obtained at the subsequent stages duringthe previous iterations. In the case of soft decision decoding, thereliability values to be used at other stages should be computedaccording to the standard rules for extrinsic information, similarly toturbo decoding, in order to avoid double counting of the sameinformation.

It remains to explain the operation of the MDS decoders 84. Here again,we will distinguish between hard and soft decision decoding. In theformer case, the decoder is driven by binary decisions on a subset ofoutput bits of the respective MDS code in order to find thecorresponding input bits as well as the remaining output bits. A largevariety of algebraic decoding methods may be used. Since the number ofparallel channels is often small in the situations of interest, theassociated decoding complexity is not important. One can use a simplesyndrome decoding or even an exhaustive search over all possiblecodewords of an MDS code. In the case of soft decision decoding, thedecoder receives real-valued metrics of a subset of output bits. Thesemetrics reflect reliabilities of the respective bits, as explainedabove. Based on these metrics, the decoder computes the metrics of thecorresponding input bits and the metrics of the remaining output bits.The computation rule is the same as in SISO decoding of turbo codes: thecomputed metrics of the stand for a posteriori reliabilities of therespective bits which are based on the a priori reliabilities a subsetof output bits fed to the decoder. The relationship between the a prioriand a posteriori reliabilities depends on the relationship between thecorresponding bits. The latter relationship is defined by a generatormatrix of the MDS code. The complexity of soft-decision decoding isrelatively small when such is m.

The same channel coding principle may be applied to a binary MIMOtransmission channel. A possible scenario is transmission of binarymessages (data packets) in a network from a transmitter to a receivervia multiple routes (subchannels). Assume that exact reliabilities ofdifferent paths (crossover probabilities of the equivalent binarysymmetric channels) are not known to the transmitter but the statisticalproperties (a distribution law of the crossover probability) are known,e.g. from modeling results. One way to deal with the uncertainty ofreliabilities per subchannel is to decode these streams in such an orderthat the reliabilities of the ordered subchannels form a non-increasingsequence. As a matter of fact, variations of each element of an orderedsequence of independent identically distributed random values go to zeroas the sequence length goes to infinity. Hence, one can accurately adapttransmission rates to the (quasi-deterministic) throughputs of theordered subchannels provided that their number is big enough. Althoughthe throughputs of the ordered subchannels may be assumed accuratelyknown at the transmitter, the order of the extraction of the transmittedstreams is unknown (unless a feedback channel between the transmitterand the receiver is used to convey channel information). In such a case,the overall MIMO channel falls under the scope of the general scheme inFIG. 1. Further implementation may be achieved based the available FECschemes for binary symmetric channels (i.e. with Reed-Solomon codes andother BCH codes). Yet, it is desirable to adapt the existing codingschemes so as to emphasize the benefit of a partial knowledge of theinput bits, according to the proposed channel coding strategy.

The channel coding strategy described above may be applied to increasethe throughput of wireless communication systems that exploit multipletransmit and receive antennas. In such systems, multiple transmitantennas 28 are used to transmit streams of coded symbols that originatefrom the same data source. At the receiver side, these multiple streamsare retrieved and decoded either simultaneously or successively.Simultaneous decoding of different streams yields a very highcomputational burden. This burden grows exponentially in the totalnumber of bits per channel use transmitted by all antennas 28.Therefore, simultaneous decoding is feasible only for small data ratesas compared to the theoretical throughput. Here, we focus on thesuccessive decoding schemes where each data stream is recovered byremoving the data streams that have been recovered at earlier stages andby canceling the remaining data streams, due to multiple receiveantennas 40, via spatial (space-time or space-frequency) interferencecancellation. Specifically, we consider schemes with ordered successiveinterference cancellation (OSIC).

A baseline system that makes use of the OSIC principle is disclosed inEuropean Patent Application EP 0 951 091 A2. According to this knownsystem, the total number of user bits 21 is partitioned into m symmetricstreams 23. Each stream 23 undergoes an identical encoding (by encoders24), modulation (by modulators 26) and is transmitted by one of mtransmit antennas 28. A block diagram of such a transmitter 12 is shownin FIG. 5. The receiver 16 exploits M antennas 40 that produce M signaloutputs. The receiver 16 applies the OSIC principle which isschematically shown in FIG. 6. It is assumed that the transfer functionof the MIMO channel is known or accurately estimated at the receiver 16(e.g. due to the standard training procedure, based on the referencesignals sent by the transmitter 12). This MIMO transfer function will beschematically described by an M×m matrix H whose entry H_(q, p) standsfor the transfer function between the p-th transmit antenna 28 and theq-th receive antenna 40. In frequency selective fading, the entries of Hare functions representing either time domain or frequency domaincharacterization of the channel. In non-selective (flat) fading, theentries of H are complex valued.

The received encoded information subsignals are demodulated indemodulators 42. Based on the known H, the receiver 16 extracts the mstreams (information subsignals) successively. At the first (leftmost)layer or stage (comprised of a MMSE canceller 44, a decoder 46, anencoder/modulator 48, multipliers 56 and subtractors 60), one of thestreams 41 is extracted, by canceling the contributions from the other(m−1) streams 41. Without loss of generality, assume that the index ofthe stream extracted at the first layer is π[1]. In the known system, aperfect cancellation of these streams is achieved due to projecting thevector H_(π[1])=[H_(1,π[1]), . . . , H_(M,π[1])]^(T) (the superscript(T) stands for a matrix transpose) of channel transfer functionsassociated to this stream onto the part of the M-dimensional signalspace which is orthogonal to the columns of the M×(m−1) matrix[H_(1:M,π[2]), . . . , H_(1:M,π[m])] representing the transfer functionsof the other streams. The π[1]-th stream is a result of linear combiningof signals from M antennas 40 with weights that are defined by theentries of the projected vector. This type of interference cancellation,known as zero forcing, remains sub-optimal in the presence of noise. Abetter performance may be achieved with minimum mean square error (MMSE)cancellation (in MMSE canceller 44). This approach maximizes the outputSINR. To apply MMSE extraction to the π[1]-th stream, we compute m×MvectorW _(π[1]) ⁽¹⁾=(H _(π[1])*(σ_(s) ² HH*+σ _(n) ² I _(M))⁻¹ H _(π[1]))⁻¹ H_(π[1])*(σ_(s) ² HH*+σ_(n) ² I _(M))⁻¹.  (7)Here the superscript (*) stands for a matrix conjugate transpose, I_(M)is the M×M identity matrix, σ_(s) ² is the (average) power of everytransmitted signal and σ_(n) ² is the ambient noise power. The π[1]-thstream is a result of linear combining of signals from M antennas 40with weights that are defined by the respective entries of W_(π[1]) ⁽¹⁾.Whenever the ambient noise at different antennas is uncorrelated, MMSEcancellation results in the highest possible SINR:SINR _(π[1]) ⁽¹⁾=[(H _(π[1])*(σ_(s) ² HH*+σ _(n) ² I _(M))⁻¹ H_(π[1]))⁻¹−1]⁻¹.  (8)The extracted π[1]-th stream 45 is forwarded by the MMSE canceller 44 tothe decoder 46 which recovers the corresponding stream of user bits 47.These user bits 47 are encoded and modulated again by anencoder/modulator 48 to the sequence of channel symbols 49. The sequenceof symbols 49 is scaled by the respective entries of the transferfunction H_(π[1]) (by means of the multipliers 56) to produce thecontributions of the π[1]-th stream to all M receiver branches. Thesecontributions are extracted from the corresponding received signals bymeans of subtractors 60 as indicated in FIG. 6. The resulting M signals55 are free from the contributions of the π[1]-th stream 45. Thedescribed procedure is applied recursively so that at the n-thlayer/stage, a π[n]-th stream is extracted with certain SINR_(π[n])^((n)), after the MMSE cancellation of the remaining (n−1) interferingstreams by means of filter W_(π[n]) ^((n)), its contribution isreconstructed and removed from the received signals, 1≦n≦m (except forthe last layer/stage where the removal is not necessary). In FIG. 6 alsothe second layer/stage and the m-th layer/stage are shown. This secondstage is comprised of MMSE canceller 50, decoder 52, encoder/modulator54, multipliers 64 and subtractors 68. The m-th stage is only comprisedof MMSE canceller 74 (which comprises a Maximum Ratio Combiner (MRC)filter since no interference is present at this stage) and decoder 76.The receiver 16 further comprises a multiplexer 72 which multiplexes thedecoded information subsignals 47 of the m layers/stages into aninformation signal 77 comprising user bits.

The throughput of this MIMO transmission system depends on the set ofSINR values SINR_(π[1]) ⁽¹⁾, . . . , SINR_(π[m]) ^((m)). Hence, theorder π={π[n], 1≦n≦m} of the processing of m streams may be critical. Tohighlight the impact of the processing order on the system throughput,note that the symmetry of different subchannels and the absence ofchannel knowledge at the transmitter yield equal transmission rates(throughputs) to be used for all subchannels. The overall throughput ofsuch a system equals to m times the throughput of one subchannel.Finally, the throughput per subchannel is limited by the minimum oftheir respective throughputs which is defined by min{SINR_(π[1]) ⁽¹⁾, .. . , SINR_(π[m]) ^((m))} The maximum throughput, therefore, correspondsto the maximum of min{SINR_(π[1]) ⁽¹⁾, . . . , SINR_(π[m]) ^((m))}whereas the optimal processing order is defined by such π that maximizesmin{SINR_(π[1]) ⁽¹⁾, . . . , SINR_(π[m]) ^((m))}. As shown in the abovementioned European Patent Application, the optimal processing order π isachieved when, at every stage, the subchannel is selected whichmaximizes the local SINR:π[n]=arg max_(k) {SINR _(k) ^((n)): 1≦k≦m, k≠π[p]: 1≦p<n} 1≦n≦m.  (9)

A MIMO transmitter system as described earlier in this section, with thetransmitter and receiver as in FIG. 5 and FIG. 6 respectively, MMSEcancellation filters specified by (7), decision statistics defined by(8) and processing order defined in (9), is regarded as the baselinesystem. Let us analyze a theoretically achievable throughput of such asystem. We will assume a narrow-band (non-selective) Rayleigh fadingchannel with fully uncorrelated transmit/receive antennas. This meansthat the entries of the channel matrix are statistically independentcomplex Gaussian variables with zero mean and variance (1/2) per complexdimension. Let us first consider a system with two transmit/receiveantennas: M=m=2. For this setup, the outage ratios SINR_(π[1]) ⁽¹⁾ andSINR_(π[2]) ⁽²⁾ for both layers have been estimated from 100000independent Monte-Carlo trials for a wide range of the overall SNR perreceive antenna (i.e. ratio of the average total signal power from alltransmit antennas to the noise power at any receive antenna). Theempirical SINR values for the outage rates of 10% and 1% are plotted inFIG. 9 (showing outage SINR per layer/stage versus the overall SNR perreceive antenna for outage rates 10% (left frame) and 1% (right frame),2 transmit antennas, 2 receive antennas). The corresponding outagevalues of capacities (maximum throughputs), computed according to thestandard relationshipC=log₂(1+SINR)[bits/channel use]  (10)are plotted in FIG. 10 (showing outage throughput per layer/stage versusthe overall SNR per receive antenna for outage rates 10% (left frame)and 1% (right frame), 2 transmit antennas, 2 receive antennas). One cansee that at small and moderate SNR, the first (upper) layer has a biggerthroughput. The advantage of the first layer over the second (lower) onealso depends on the designed outage rate. Note that the maximumthroughput of the first layer is nearly two times as big as thethroughput of the second layer in some cases of practical interest.Namely, the region of SNR around 6-8 dB, outage rate 10% and less may berelevant for cellular communications in interference-limitedenvironments, e.g. CDMA.

As explained earlier, the throughput of each subchannel within thebaseline system may not exceed the minimum of throughputs observed atdifferent layers. Therefore, the maximum total throughput of thebaseline system is twice the minimum of these throughputs. The dashedline in FIG. 11 shows the overall throughput of the baseline (standard)system versus the overall SNR for the outage rates of 10% (left frame)and 1% (right frame) respectively.

At this point, we note that the overall throughput may be increased upto the sum of the throughputs C₁ and C₂ of the two layers in the regionof SNR and outage rates where C₁≧C₂. Indeed, one may notice that thetransmission system with a transmitter 12 as in FIG. 5 and a receiver 16as in FIG. 6 is a particular case of the general transmission scheme inFIG. 1 where the capacities C₁ . . . C_(m) stand for the outagethroughputs achievable at layers 1 through m respectively while thepermutation π defines the processing order of the transmitted streams.The set of outage throughputs C₁ . . . C_(m) is defined by thestatistical description of the assumed propagation environment (in ourexample, uncorrelated Rayleigh fading). Usually, these throughputs aremeasured off-line and may be assumed known to the transmitter 12 and tothe receiver 16. The permutation π depends on the channel realization.This permutation is defined at the receiver 16, subject to the estimatedchannel matrix, and therefore is unknown to the transmitter 12. Hence,the baseline transmission system falls under the general scheme asdepicted by FIG. 1 and therefore the general channel coding principledescribed above applies in this case. Let us design the encoder that hasto operate in presence of uncorrelated Rayleigh fading at SNR of 8 dBand 10% outage rate. In this case, the throughputs achievable at layers1 and 2 are C₁≈1.27 and C₂≈0.81 user bits per channel use respectively,see FIG. 10. The practically achievable throughputs of this layers are,therefore, upper-bounded by C₁ and C₂. These upper bounds are neverachieved in practice since a (small) fraction of the spectral efficiencyhas to be sacrificed in order to satisfy the QoS requirements in termsof error rates. This fraction depends on the desired features of a FECand QoS requirements. The definition of practical throughput relates tothe FEC design which is not addressed specifically in this document.Therefore, we will assume in this example an ideal FEC so that themaximum throughputs are achievable. Suppose that a block of data to betransmitted makes use of N=100 channel uses. This may correspond to e.g.a block of 100 symbols of certain alphabet serially sent over thechannel. According to the block-diagram of the SAC encoder (FIG. 3), wehave to partition the set of N(C₁+C₂)=127+81=208 user bits into twosubsets of sizes N(C₁−C₂)=127−81=46 and N2C₂=2·81=162. The first subsetis encoded with (2, 1, •) MDS code. The generator matrix of a binary MDScode (2, 1, 1) is given in (6). According to the generating matrix, thisMDS code is a rate (1/2) repetition code. Hence 46 user bits of thefirst subset are simply duplicated and the resulting copies are fed tothe output streams via the multiplexers 34 in FIG. 3. The second subsetof 162 bits is partitioned into two blocks of 81 bits. These blockscontribute to the two output streams through the same multiplexers 34.Each output stream contains 127 bits. These streams are encoded bychannel encoders 24, modulated by modulators 26 and transmitted viadifferent antennas 28 as shown in FIG. 7. Here, the means fortransmitting the encoded information subsignals 25 are formed by themodulators 26 and the antennas 28. At the receiver 16, the standard OSICextraction of the data streams is performed, as described above.According to the processing order π determined at the receiver 16 via(9), the stream π[1] is extracted at the first (upper) layer. Since theoutage throughput of this layer is C₁, the corresponding NC₁≈127 userbits are successfully decoded in the decoder 46. According to the blockdiagram in FIG. 8, the values 47 (by bit values, we understand eitherbinary/hard decisions or real-valued/soft decisions) of these bits arefed to the “input 1” of the MPC decoder 80. Inside the MPC decoder 80(see FIG. 4), these values 47 are partitioned into a set of 46 bitvalues corresponding to the π[1]-th output of the (2 ,1 ,1) MDS code andthe remaining 81 bit values. Check that decoding of the (2, 1, 1) MDScode consists of replicating 46 bit values of the π[1]-th output to bothoutputs of the decoder. While the first replica 117 is collected by themultiplexer 86, the second replica 83 is sent to the output “link 1” ofthe MPC decoder 80. At the second layer, the stream π[2] is extracted.The FEC decoder 52 of this stream 59 benefits from the knowledge of 46bits values out of the total 127 bits fed via “link 1” of the MPCdecoder 80, see FIG. 8. The remaining N C₂=81 user bits may besuccessfully recovered since the throughput of the second layer isC₂≈0.81. The whole stream 47 of 127 bit values of the second stream issent to the “input 2” of the MPC decoder 80. According to FIG. 4, asubset of 81 bit values at this stage is merged with the subset of 81bit values from the previous decoding stage and sent to the multiplexer86. The total number 46+81+81=208 of bit values collected in themultiplexer 86 equals to the total number of the transmitted user bits.In the case of soft-decision decoding, the soft bit values are convertedinto hard decisions on the user bits.

Note that the proposed channel coding scheme results in the overallthroughput of (C₁+C₂)≈2.08 bits per channel use. This yields a 28%improvement as compared to the baseline system with the overallthroughput of 2C₂≈1.62 bits per channel use. The throughputs of baselinesystem and the proposed modification of this latter are plotted in FIG.11 for various SNR and outage rates of 10% and 1%. The improvement ofthe modified transmission system over the baseline systems varies from10% to 100% and even higher, at low and moderate SNR.

In the general case of M and m, the transmitter 12 of the modifiedbaseline system is shown in FIG. 7. This transmitter 12 makes use of MPCencoder 30 shown in FIG. 3. The receiver 16 of the modified baselinesystem is presented in FIG. 8. The modified receiver 16 differs from thereceiver 16 of the baseline system (shown in FIG. 6) by the MPC decoder80 and related links with FEC decoders 46,52,76,128 of different layers.It is worthwhile to mention that the FEC structure should be adapted totake advantage of the knowledge of known bits. Although the design ofspecific FEC codes is beyond the scope of this invention, some promisingoptions for the choice of FEC have been indicated above.

In the remainder, we give a slightly more complex example of MPC coding,for a MIMO transmission system with M=m=3. Under the assumption ofuncorrelated Rayleigh fading, we have computed the outage SINRachievable at different layers, the corresponding outage throughputs perlayer and the outage overall throughputs of the baseline (standard) andmodified systems, for a wide range of SNR and outage rates 10% and 1%,see FIGS. 12-14. As earlier, we select SNR of 8 dB, 10% outage rate andN=100 channel uses per block. FIG. 12 shows outage SINR per layer/stageversus the overall SNR per receive antenna for outage rates 10% (leftframe) and 1% (right frame), 3 transmit antennas, 3 receive antennas.FIG. 13 shows outage throughput per layer/stage versus the overall SNRper receive antenna for outage rates 10% (left frame) and 1% (rightframe), 3 transmit antennas, 3 receive antennas. FIG. 14 shows totaloutage throughput of the standard and the modified system versus theoverall SNR per receive antenna for outage rates 10% (left frame) and 1%(right frame), 3 transmit antennas, 3 receive antennas.

First of all, we need to find the set of maximum throughputs C ₁, C ₂, C₃ that deliver the maximum overall throughput C_(Σ) under the constraint(4). According to FIG. 13, we have C₁≈1.51, C₂≈1.33, C₃≈0.95. Note that(4) is satisfied with C ₁=C₁, C ₂=C₂ and C ₃=C₃. The transmitter 12operates according to FIG. 5 with MPC encoder 30 described in FIG. 3.The total number of user bits is N(C₁+C₂+C₃)=151+133+95=379. These 379user bits are partitioned into m=3 subsets with sizes N(C₁−C₂)=18,N2(C₂−C₃)=2·38=76 and N3C₃=3·95=285. The respective sizes of the outputblocks are N(C₁−C₂)=18, N(C₂−C₃)=38 and NC₃=95, as described in FIG. 3.Finally, the MDS codes used in the MPC encoder 30 are given by (3 ,1, 1)and (3, 2, 1) codes with the respective generating matrices specified in(6).

The receiver 16 operates as described in FIG. 8. The difference from thereceiver 16 of the baseline system in FIG. 6 is in the MPC decoder block80 and its links to various decoding stages. This MPC decoder 80operates similarly to the MPC decoder 80 in the previous example. Itremains to specify the decoding of MDS codes. First, we note that the(3, 1, 1) MDS code defined in (6) is rate (1/3) repetition code. Hencethe decoding procedure consists of copying the input of the decoder toits outputs. Let us consider the decoding procedure for the (3, 2, 1)code. First, we address hard decision decoding. As mentioned above, anexhaustive search can be used. In order to describe the searchalgorithm, we denote by b₁, b₂ a pair of inputs and by c₁, c₂, c₃ therespective outputs of the (3, 2, 1) MDS code. According to thedescription of FIG. 4, the task of the decoder is to find input bits b₁,b₂ and an output bit c_(π[3]) given a pair of outputs c_(π[1]),c_(π[2]). For the (3, 2, 1) MDS code defined in (6), the search isperformed according to the lookup table shown in FIG. 15 and FIG. 16.

Finally, we consider soft decision decoding. Let us define I₁, I₂ a pairof real-valued metrics associated with the pair of input bits b₁, b₂ andO₁, O₂, O₃ three output metrics associated with the output bits c₁, c₂,c₃. The task of the decoder is to compute input metrics I₁, I₂ and anoutput metric O_(π[3]) given a pair of output metrics O_(π[1]),O_(π[2]). Conventionally, bit metrics are defined as log-likelihoodratios (LLR). The LLR values are usually computed via the maximum aposteriori probability (MAP) algorithm, or its simplified version widelyknown as Max-Log-MAP. The respective computation rules applicable to the(3, 2, 1) MDS code in (6) are specified in FIG. 17 and FIG. 18respectively.

It is worth noting that the exact expressions to compute LLR depend onthe code structure and should be derived from the general rules of MAPor Max-Log-MAP computations for each particular code.

The scope of the invention is not limited to the embodiments explicitlydisclosed. The invention is embodied in each new characteristic and eachcombination of characteristics. Any reference signs do not limit thescope of the claims. The word “comprising” does not exclude the presenceof other elements or steps than those listed in a claim. Use of the word“a” or “an” preceding an element does not exclude the presence of aplurality of such elements.

1. A transmission system for transmitting an information signal via aplurality of subchannels from a transmitter to a receiver, thetransmitter comprising: a demultiplexer for demultiplexing theinformation signal into a plurality of information subsignals independence on a throughput of the subchannels as ordered by thereceiver; an encoder for encoding input symbols of the informationsubsignals into output symbols such that k input symbols of the k-thinformation subsignal are encoded with a k×m-code into m output symbols,1≦k≦m, said code having the following properties: all k input symbolsand all m−k other output symbols are determinable from any k outputsymbols, and no m−l other output symbols are determinable from any loutput symbols, l<k; a multiplexer for multiplexing the output symbolsinto output information subsignals; an interleaver for interleaving theoutput information subsignals; a channel encoder for channel encodingthe interleaved output information subsignals into encoded informationsubsignals; and means for transmitting each encoded informationsubsignal via one of the subchannels to the receiver; the receivercomprising: means for receiving the encoded information subsignals; achannel decoder for successively channel decoding the received encodedinformation subsignals into channel decoded information subsignals byincorporating decoding information of already channel decodedinformation subsignals; a demultiplexer for demultiplexing the channeldecoded information subsignals into channel decoded symbols; a decoderfor decoding the channel decoded symbols into decoded output symbols andfor supplying the decoding information regarding the decoded outputsymbols to the channel decoder; a further multiplexer for multiplexingthe decoded output symbols into an output information signal.
 2. Thetransmission system according to claim 1, wherein the code is a maximumdistance separable (MDS) code.
 3. The transmission system according toclaim 1, wherein the channel decoder is arranged for decoding a receivedencoded information subsignal by incorporating decoding information ofthe most recently channel decoded information subsignal.
 4. Thetransmission system according to claim 1, wherein the transmissionsystem is a binary transmission system and wherein the informationsubsignals comprise differently routed binary signals.
 5. Thetransmission system according to claim 1, wherein the transmissionsystem is a wireless communication system, and wherein the transmittercomprises a plurality of transmit antennas, wherein each channel encodedinformation subsignal is transmitted via one of the transmit antennas tothe receiver, and wherein the receiver comprises a plurality of receiveantennas for receiving the encoded information subsignals.
 6. Atransmitter for transmitting an information signal via a plurality ofsubchannels to a receiver, the transmitter comprising: a demultiplexerfor demultiplexing the information signal into a plurality ofinformation subsignals in dependence on a throughput of the subchannelsas ordered by the receiver; an encoder for encoding input symbols of theinformation subsignals into output symbols such that k input symbols ofthe k-th information subsignal are encoded with a k=m-code into m outputsymbols, 1≦k≦m, said code having the following properties: all k inputsymbols and all m−k other output symbols are determinable from any koutput symbols, and no m−l other output symbols are determinable fromany l output symbols, l<k; a multiplexer for multiplexing the outputsymbols into output information subsignals; an interleaver forinterleaving the output information subsignals; a channel encoder forchannel encoding the interleaved output information subsignals intoencoded information subsignals; and means for transmitting each encodedinformation subsignal via one of the subchannels to the receiver.
 7. Thetransmitter according to claim 6, wherein the code is a maximum distanceseparable (MDS) code.
 8. The transmitter according to claim 6, whereinthe transmitter comprises a plurality of transmit antennas, and whereineach channel encoded information subsignal is transmitted via one of thetransmit antennas to the receiver.
 9. A method of transmitting aninformation signal via a plurality of subchannels to a receiver, themethod comprising: demultiplexing, by a demultiplexer, the informationsignal into a plurality of information subsignals in dependence on athroughput of the subchannels as ordered by the receiver; encoding inputsymbols of the information subsignals into output symbols such that kinput symbols of the k-th information subsignal are encoded with ak=m-code into m output symbols, 1≦k≦m, said code having the followingproperties: all k input symbols and all m−k other output symbols aredeterminable from any k output symbols, and no m−l other output symbolsare determinable from any l output symbols, l<k; multiplexing the outputsymbols into output information subsignals; interleaving the outputinformation subsignals; channel encoding the interleaved outputinformation subsignals into encoded information subsignals; andtransmitting each encoded information subsignal via one of thesubchannels to the receiver.
 10. The method of transmitting according toclaim 9, wherein the code is a maximum distance separable (MDS) code.